
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: package debugging.pdb_mod</title>
</head><body bgcolor="#f0f0f8">

<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="debugging.html"><font color="#ffffff">debugging</font></a>.pdb_mod</strong></big></big></font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:e:\vslprf\dlr\languages\ironpython\tests\debugging\pdb_mod\__init__.py">e:\vslprf\dlr\languages\ironpython\tests\debugging\pdb_mod\__init__.py</a></font></td></tr></table>
    <p><tt>AREA&nbsp;BREAKDOWN<br>
&nbsp;<br>
&nbsp;&nbsp;-&nbsp;DEBUGGER&nbsp;COMMANDS<br>
&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;debugger&nbsp;recognizes&nbsp;the&nbsp;following&nbsp;commands.&nbsp;Most&nbsp;commands&nbsp;can&nbsp;be&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;abbreviated&nbsp;to&nbsp;one&nbsp;or&nbsp;two&nbsp;letters;&nbsp;e.g.&nbsp;h(elp)&nbsp;means&nbsp;that&nbsp;either&nbsp;h&nbsp;or&nbsp;help&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;can&nbsp;be&nbsp;used&nbsp;to&nbsp;enter&nbsp;the&nbsp;help&nbsp;command&nbsp;(but&nbsp;not&nbsp;he&nbsp;or&nbsp;hel,&nbsp;nor&nbsp;H&nbsp;or&nbsp;Help&nbsp;or&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;HELP).&nbsp;Arguments&nbsp;to&nbsp;commands&nbsp;must&nbsp;be&nbsp;separated&nbsp;by&nbsp;whitespace&nbsp;(spaces&nbsp;or&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;tabs).&nbsp;Optional&nbsp;arguments&nbsp;are&nbsp;enclosed&nbsp;in&nbsp;square&nbsp;brackets&nbsp;([])&nbsp;in&nbsp;the&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;command&nbsp;syntax;&nbsp;the&nbsp;square&nbsp;brackets&nbsp;must&nbsp;not&nbsp;be&nbsp;typed.&nbsp;Alternatives&nbsp;in&nbsp;the&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;command&nbsp;syntax&nbsp;are&nbsp;separated&nbsp;by&nbsp;a&nbsp;vertical&nbsp;bar&nbsp;(|).<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;Entering&nbsp;a&nbsp;blank&nbsp;line&nbsp;repeats&nbsp;the&nbsp;last&nbsp;command&nbsp;entered.&nbsp;Exception:&nbsp;if&nbsp;the&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;last&nbsp;command&nbsp;was&nbsp;a&nbsp;list&nbsp;command,&nbsp;the&nbsp;next&nbsp;11&nbsp;lines&nbsp;are&nbsp;listed.<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;Commands&nbsp;that&nbsp;the&nbsp;debugger&nbsp;doesn't&nbsp;recognize&nbsp;are&nbsp;assumed&nbsp;to&nbsp;be&nbsp;Python&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;statements&nbsp;and&nbsp;are&nbsp;executed&nbsp;in&nbsp;the&nbsp;context&nbsp;of&nbsp;the&nbsp;program&nbsp;being&nbsp;debugged.&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;Python&nbsp;statements&nbsp;can&nbsp;also&nbsp;be&nbsp;prefixed&nbsp;with&nbsp;an&nbsp;exclamation&nbsp;point&nbsp;(!).&nbsp;This&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;is&nbsp;a&nbsp;powerful&nbsp;way&nbsp;to&nbsp;inspect&nbsp;the&nbsp;program&nbsp;being&nbsp;debugged;&nbsp;it&nbsp;is&nbsp;even&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;possible&nbsp;to&nbsp;change&nbsp;a&nbsp;variable&nbsp;or&nbsp;call&nbsp;a&nbsp;function.&nbsp;When&nbsp;an&nbsp;exception&nbsp;occurs&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;in&nbsp;such&nbsp;a&nbsp;statement,&nbsp;the&nbsp;exception&nbsp;name&nbsp;is&nbsp;printed&nbsp;but&nbsp;the&nbsp;debugger's&nbsp;state&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;is&nbsp;not&nbsp;changed.<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;Multiple&nbsp;commands&nbsp;may&nbsp;be&nbsp;entered&nbsp;on&nbsp;a&nbsp;single&nbsp;line,&nbsp;separated&nbsp;by&nbsp;;;.&nbsp;(A&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;single&nbsp;;&nbsp;is&nbsp;not&nbsp;used&nbsp;as&nbsp;it&nbsp;is&nbsp;the&nbsp;separator&nbsp;for&nbsp;multiple&nbsp;commands&nbsp;in&nbsp;a&nbsp;line&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;that&nbsp;is&nbsp;passed&nbsp;to&nbsp;the&nbsp;Python&nbsp;parser.)&nbsp;No&nbsp;intelligence&nbsp;is&nbsp;applied&nbsp;to&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;separating&nbsp;the&nbsp;commands;&nbsp;the&nbsp;input&nbsp;is&nbsp;split&nbsp;at&nbsp;the&nbsp;first&nbsp;;;&nbsp;pair,&nbsp;even&nbsp;if&nbsp;it&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;is&nbsp;in&nbsp;the&nbsp;middle&nbsp;of&nbsp;a&nbsp;quoted&nbsp;string.<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;debugger&nbsp;supports&nbsp;aliases.&nbsp;Aliases&nbsp;can&nbsp;have&nbsp;parameters&nbsp;which&nbsp;allows&nbsp;one&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;a&nbsp;certain&nbsp;level&nbsp;of&nbsp;adaptability&nbsp;to&nbsp;the&nbsp;context&nbsp;under&nbsp;examination.<br>
&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;h(elp)&nbsp;[command]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Without&nbsp;argument,&nbsp;print&nbsp;the&nbsp;list&nbsp;of&nbsp;available&nbsp;commands.&nbsp;With&nbsp;a&nbsp;command&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;as&nbsp;argument,&nbsp;print&nbsp;help&nbsp;about&nbsp;that&nbsp;command.&nbsp;help&nbsp;pdb&nbsp;displays&nbsp;the&nbsp;full&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;documentation&nbsp;file;&nbsp;if&nbsp;the&nbsp;environment&nbsp;variable&nbsp;PAGER&nbsp;is&nbsp;defined,&nbsp;the&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file&nbsp;is&nbsp;piped&nbsp;through&nbsp;that&nbsp;command&nbsp;instead.&nbsp;Since&nbsp;the&nbsp;command&nbsp;argument&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;must&nbsp;be&nbsp;an&nbsp;identifier,&nbsp;help&nbsp;exec&nbsp;must&nbsp;be&nbsp;entered&nbsp;to&nbsp;get&nbsp;help&nbsp;on&nbsp;the&nbsp;!&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;command.<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;w(here)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Print&nbsp;a&nbsp;stack&nbsp;trace,&nbsp;with&nbsp;the&nbsp;most&nbsp;recent&nbsp;frame&nbsp;at&nbsp;the&nbsp;bottom.&nbsp;An&nbsp;arrow&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;indicates&nbsp;the&nbsp;current&nbsp;frame,&nbsp;which&nbsp;determines&nbsp;the&nbsp;context&nbsp;of&nbsp;most&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;commands.<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;d(own)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Move&nbsp;the&nbsp;current&nbsp;frame&nbsp;one&nbsp;level&nbsp;down&nbsp;in&nbsp;the&nbsp;stack&nbsp;trace&nbsp;(to&nbsp;a&nbsp;newer&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;frame).<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;u(p)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Move&nbsp;the&nbsp;current&nbsp;frame&nbsp;one&nbsp;level&nbsp;up&nbsp;in&nbsp;the&nbsp;stack&nbsp;trace&nbsp;(to&nbsp;an&nbsp;older&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;frame).<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;b(reak)&nbsp;[[filename:]lineno&nbsp;|&nbsp;function[,&nbsp;condition]]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;With&nbsp;a&nbsp;lineno&nbsp;argument,&nbsp;set&nbsp;a&nbsp;break&nbsp;there&nbsp;in&nbsp;the&nbsp;current&nbsp;file.&nbsp;With&nbsp;a&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;argument,&nbsp;set&nbsp;a&nbsp;break&nbsp;at&nbsp;the&nbsp;first&nbsp;executable&nbsp;statement&nbsp;within&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;that&nbsp;function.&nbsp;The&nbsp;line&nbsp;number&nbsp;may&nbsp;be&nbsp;prefixed&nbsp;with&nbsp;a&nbsp;filename&nbsp;and&nbsp;a&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;colon,&nbsp;to&nbsp;specify&nbsp;a&nbsp;breakpoint&nbsp;in&nbsp;another&nbsp;file&nbsp;(probably&nbsp;one&nbsp;that&nbsp;hasn't&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;been&nbsp;loaded&nbsp;yet).&nbsp;The&nbsp;file&nbsp;is&nbsp;searched&nbsp;on&nbsp;sys.path.&nbsp;Note&nbsp;that&nbsp;each&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;breakpoint&nbsp;is&nbsp;assigned&nbsp;a&nbsp;number&nbsp;to&nbsp;which&nbsp;all&nbsp;the&nbsp;other&nbsp;breakpoint&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;commands&nbsp;refer.<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;a&nbsp;second&nbsp;argument&nbsp;is&nbsp;present,&nbsp;it&nbsp;is&nbsp;an&nbsp;expression&nbsp;which&nbsp;must&nbsp;evaluate&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to&nbsp;true&nbsp;before&nbsp;the&nbsp;breakpoint&nbsp;is&nbsp;honored.<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Without&nbsp;argument,&nbsp;list&nbsp;all&nbsp;breaks,&nbsp;including&nbsp;for&nbsp;each&nbsp;breakpoint,&nbsp;the&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;number&nbsp;of&nbsp;times&nbsp;that&nbsp;breakpoint&nbsp;has&nbsp;been&nbsp;hit,&nbsp;the&nbsp;current&nbsp;ignore&nbsp;count,&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;the&nbsp;associated&nbsp;condition&nbsp;if&nbsp;any.<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;tbreak&nbsp;[[filename:]lineno&nbsp;|&nbsp;function[,&nbsp;condition]]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Temporary&nbsp;breakpoint,&nbsp;which&nbsp;is&nbsp;removed&nbsp;automatically&nbsp;when&nbsp;it&nbsp;is&nbsp;first&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hit.&nbsp;The&nbsp;arguments&nbsp;are&nbsp;the&nbsp;same&nbsp;as&nbsp;break.<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;cl(ear)&nbsp;[bpnumber&nbsp;[bpnumber&nbsp;...]]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;With&nbsp;a&nbsp;space&nbsp;separated&nbsp;list&nbsp;of&nbsp;breakpoint&nbsp;numbers,&nbsp;clear&nbsp;those&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;breakpoints.&nbsp;Without&nbsp;argument,&nbsp;clear&nbsp;all&nbsp;breaks&nbsp;(but&nbsp;first&nbsp;ask&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;confirmation).<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;disable&nbsp;[bpnumber&nbsp;[bpnumber&nbsp;...]]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Disables&nbsp;the&nbsp;breakpoints&nbsp;given&nbsp;as&nbsp;a&nbsp;space&nbsp;separated&nbsp;list&nbsp;of&nbsp;breakpoint&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;numbers.&nbsp;Disabling&nbsp;a&nbsp;breakpoint&nbsp;means&nbsp;it&nbsp;cannot&nbsp;cause&nbsp;the&nbsp;program&nbsp;to&nbsp;stop&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;execution,&nbsp;but&nbsp;unlike&nbsp;clearing&nbsp;a&nbsp;breakpoint,&nbsp;it&nbsp;remains&nbsp;in&nbsp;the&nbsp;list&nbsp;of&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;breakpoints&nbsp;and&nbsp;can&nbsp;be&nbsp;(re-)enabled.<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;enable&nbsp;[bpnumber&nbsp;[bpnumber&nbsp;...]]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enables&nbsp;the&nbsp;breakpoints&nbsp;specified.<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;ignore&nbsp;bpnumber&nbsp;[count]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets&nbsp;the&nbsp;ignore&nbsp;count&nbsp;for&nbsp;the&nbsp;given&nbsp;breakpoint&nbsp;number.&nbsp;If&nbsp;count&nbsp;is&nbsp;omitted,&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;ignore&nbsp;count&nbsp;is&nbsp;set&nbsp;to&nbsp;0.&nbsp;A&nbsp;breakpoint&nbsp;becomes&nbsp;active&nbsp;when&nbsp;the&nbsp;ignore&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count&nbsp;is&nbsp;zero.&nbsp;When&nbsp;non-zero,&nbsp;the&nbsp;count&nbsp;is&nbsp;decremented&nbsp;each&nbsp;time&nbsp;the&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;breakpoint&nbsp;is&nbsp;reached&nbsp;and&nbsp;the&nbsp;breakpoint&nbsp;is&nbsp;not&nbsp;disabled&nbsp;and&nbsp;any&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;associated&nbsp;condition&nbsp;evaluates&nbsp;to&nbsp;true.<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;condition&nbsp;bpnumber&nbsp;[condition]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Condition&nbsp;is&nbsp;an&nbsp;expression&nbsp;which&nbsp;must&nbsp;evaluate&nbsp;to&nbsp;true&nbsp;before&nbsp;the&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;breakpoint&nbsp;is&nbsp;honored.&nbsp;If&nbsp;condition&nbsp;is&nbsp;absent,&nbsp;any&nbsp;existing&nbsp;condition&nbsp;is&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;removed;&nbsp;i.e.,&nbsp;the&nbsp;breakpoint&nbsp;is&nbsp;made&nbsp;unconditional.<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;commands&nbsp;[bpnumber]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Specify&nbsp;a&nbsp;list&nbsp;of&nbsp;commands&nbsp;for&nbsp;breakpoint&nbsp;number&nbsp;bpnumber.&nbsp;The&nbsp;commands&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;themselves&nbsp;appear&nbsp;on&nbsp;the&nbsp;following&nbsp;lines.&nbsp;Type&nbsp;a&nbsp;line&nbsp;containing&nbsp;just&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'end'&nbsp;to&nbsp;terminate&nbsp;the&nbsp;commands.&nbsp;An&nbsp;example:<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Pdb)&nbsp;commands&nbsp;1<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(com)&nbsp;print&nbsp;some_variable<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(com)&nbsp;end<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Pdb)To&nbsp;remove&nbsp;all&nbsp;commands&nbsp;from&nbsp;a&nbsp;breakpoint,&nbsp;type&nbsp;commands&nbsp;and&nbsp;follow&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;it&nbsp;immediately&nbsp;with&nbsp;end;&nbsp;that&nbsp;is,&nbsp;give&nbsp;no&nbsp;commands.<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;With&nbsp;no&nbsp;bpnumber&nbsp;argument,&nbsp;commands&nbsp;refers&nbsp;to&nbsp;the&nbsp;last&nbsp;breakpoint&nbsp;set.<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;You&nbsp;can&nbsp;use&nbsp;breakpoint&nbsp;commands&nbsp;to&nbsp;start&nbsp;your&nbsp;program&nbsp;up&nbsp;again.&nbsp;Simply&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;use&nbsp;the&nbsp;continue&nbsp;command,&nbsp;or&nbsp;step,&nbsp;or&nbsp;any&nbsp;other&nbsp;command&nbsp;that&nbsp;resumes&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;execution.<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Specifying&nbsp;any&nbsp;command&nbsp;resuming&nbsp;execution&nbsp;(currently&nbsp;continue,&nbsp;step,&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;next,&nbsp;return,&nbsp;jump,&nbsp;quit&nbsp;and&nbsp;their&nbsp;abbreviations)&nbsp;terminates&nbsp;the&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;command&nbsp;list&nbsp;(as&nbsp;if&nbsp;that&nbsp;command&nbsp;was&nbsp;immediately&nbsp;followed&nbsp;by&nbsp;end).&nbsp;This&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;is&nbsp;because&nbsp;any&nbsp;time&nbsp;you&nbsp;resume&nbsp;execution&nbsp;(even&nbsp;with&nbsp;a&nbsp;simple&nbsp;next&nbsp;or&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;step),&nbsp;you&nbsp;may&nbsp;encounter&nbsp;another&nbsp;breakpoint-which&nbsp;could&nbsp;have&nbsp;its&nbsp;own&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;command&nbsp;list,&nbsp;leading&nbsp;to&nbsp;ambiguities&nbsp;about&nbsp;which&nbsp;list&nbsp;to&nbsp;execute.<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;you&nbsp;use&nbsp;the&nbsp;'silent'&nbsp;command&nbsp;in&nbsp;the&nbsp;command&nbsp;list,&nbsp;the&nbsp;usual&nbsp;message&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;about&nbsp;stopping&nbsp;at&nbsp;a&nbsp;breakpoint&nbsp;is&nbsp;not&nbsp;printed.&nbsp;This&nbsp;may&nbsp;be&nbsp;desirable&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;breakpoints&nbsp;that&nbsp;are&nbsp;to&nbsp;print&nbsp;a&nbsp;specific&nbsp;message&nbsp;and&nbsp;then&nbsp;continue.&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;none&nbsp;of&nbsp;the&nbsp;other&nbsp;commands&nbsp;print&nbsp;anything,&nbsp;you&nbsp;see&nbsp;no&nbsp;sign&nbsp;that&nbsp;the&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;breakpoint&nbsp;was&nbsp;reached.<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;s(tep)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Execute&nbsp;the&nbsp;current&nbsp;line,&nbsp;stop&nbsp;at&nbsp;the&nbsp;first&nbsp;possible&nbsp;occasion&nbsp;(either&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;in&nbsp;a&nbsp;function&nbsp;that&nbsp;is&nbsp;called&nbsp;or&nbsp;on&nbsp;the&nbsp;next&nbsp;line&nbsp;in&nbsp;the&nbsp;current&nbsp;function).<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;n(ext)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Continue&nbsp;execution&nbsp;until&nbsp;the&nbsp;next&nbsp;line&nbsp;in&nbsp;the&nbsp;current&nbsp;function&nbsp;is&nbsp;reached&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or&nbsp;it&nbsp;returns.&nbsp;(The&nbsp;difference&nbsp;between&nbsp;next&nbsp;and&nbsp;step&nbsp;is&nbsp;that&nbsp;step&nbsp;stops&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inside&nbsp;a&nbsp;called&nbsp;function,&nbsp;while&nbsp;next&nbsp;executes&nbsp;called&nbsp;functions&nbsp;at&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(nearly)&nbsp;full&nbsp;speed,&nbsp;only&nbsp;stopping&nbsp;at&nbsp;the&nbsp;next&nbsp;line&nbsp;in&nbsp;the&nbsp;current&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function.)<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;unt(il)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Continue&nbsp;execution&nbsp;until&nbsp;the&nbsp;line&nbsp;with&nbsp;the&nbsp;line&nbsp;number&nbsp;greater&nbsp;than&nbsp;the&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;current&nbsp;one&nbsp;is&nbsp;reached&nbsp;or&nbsp;when&nbsp;returning&nbsp;from&nbsp;current&nbsp;frame.<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;r(eturn)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Continue&nbsp;execution&nbsp;until&nbsp;the&nbsp;current&nbsp;function&nbsp;returns.<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;c(ont(inue))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Continue&nbsp;execution,&nbsp;only&nbsp;stop&nbsp;when&nbsp;a&nbsp;breakpoint&nbsp;is&nbsp;encountered.<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;j(ump)&nbsp;lineno<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;the&nbsp;next&nbsp;line&nbsp;that&nbsp;will&nbsp;be&nbsp;executed.&nbsp;Only&nbsp;available&nbsp;in&nbsp;the&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bottom-most&nbsp;frame.&nbsp;This&nbsp;lets&nbsp;you&nbsp;jump&nbsp;back&nbsp;and&nbsp;execute&nbsp;code&nbsp;again,&nbsp;or&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jump&nbsp;forward&nbsp;to&nbsp;skip&nbsp;code&nbsp;that&nbsp;you&nbsp;don't&nbsp;want&nbsp;to&nbsp;run.<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;It&nbsp;should&nbsp;be&nbsp;noted&nbsp;that&nbsp;not&nbsp;all&nbsp;jumps&nbsp;are&nbsp;allowed&nbsp;-&nbsp;for&nbsp;instance&nbsp;it&nbsp;is&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;not&nbsp;possible&nbsp;to&nbsp;jump&nbsp;into&nbsp;the&nbsp;middle&nbsp;of&nbsp;a&nbsp;for&nbsp;loop&nbsp;or&nbsp;out&nbsp;of&nbsp;a&nbsp;finally&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clause.<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;l(ist)&nbsp;[first[,&nbsp;last]]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List&nbsp;source&nbsp;code&nbsp;for&nbsp;the&nbsp;current&nbsp;file.&nbsp;Without&nbsp;arguments,&nbsp;list&nbsp;11&nbsp;lines&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;around&nbsp;the&nbsp;current&nbsp;line&nbsp;or&nbsp;continue&nbsp;the&nbsp;previous&nbsp;listing.&nbsp;With&nbsp;one&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;argument,&nbsp;list&nbsp;11&nbsp;lines&nbsp;around&nbsp;at&nbsp;that&nbsp;line.&nbsp;With&nbsp;two&nbsp;arguments,&nbsp;list&nbsp;the&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;given&nbsp;range;&nbsp;if&nbsp;the&nbsp;second&nbsp;argument&nbsp;is&nbsp;less&nbsp;than&nbsp;the&nbsp;first,&nbsp;it&nbsp;is&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;interpreted&nbsp;as&nbsp;a&nbsp;count.<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;a(rgs)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Print&nbsp;the&nbsp;argument&nbsp;list&nbsp;of&nbsp;the&nbsp;current&nbsp;function.<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;p&nbsp;expression<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Evaluate&nbsp;the&nbsp;expression&nbsp;in&nbsp;the&nbsp;current&nbsp;context&nbsp;and&nbsp;print&nbsp;its&nbsp;value.<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Note:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;can&nbsp;also&nbsp;be&nbsp;used,&nbsp;but&nbsp;is&nbsp;not&nbsp;a&nbsp;debugger&nbsp;command&nbsp;-&nbsp;this&nbsp;executes&nbsp;the&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Python&nbsp;print&nbsp;statement.<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;pp&nbsp;expression<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Like&nbsp;the&nbsp;p&nbsp;command,&nbsp;except&nbsp;the&nbsp;value&nbsp;of&nbsp;the&nbsp;expression&nbsp;is&nbsp;pretty-printed&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;using&nbsp;the&nbsp;pprint&nbsp;module.<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;alias&nbsp;[name&nbsp;[command]]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates&nbsp;an&nbsp;alias&nbsp;called&nbsp;name&nbsp;that&nbsp;executes&nbsp;command.&nbsp;The&nbsp;command&nbsp;must&nbsp;not&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;be&nbsp;enclosed&nbsp;in&nbsp;quotes.&nbsp;Replaceable&nbsp;parameters&nbsp;can&nbsp;be&nbsp;indicated&nbsp;by&nbsp;%1,&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;%2,&nbsp;and&nbsp;so&nbsp;on,&nbsp;while&nbsp;%*&nbsp;is&nbsp;replaced&nbsp;by&nbsp;all&nbsp;the&nbsp;parameters.&nbsp;If&nbsp;no&nbsp;command&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;is&nbsp;given,&nbsp;the&nbsp;current&nbsp;alias&nbsp;for&nbsp;name&nbsp;is&nbsp;shown.&nbsp;If&nbsp;no&nbsp;arguments&nbsp;are&nbsp;given,&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;all&nbsp;aliases&nbsp;are&nbsp;listed.<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Aliases&nbsp;may&nbsp;be&nbsp;nested&nbsp;and&nbsp;can&nbsp;contain&nbsp;anything&nbsp;that&nbsp;can&nbsp;be&nbsp;legally&nbsp;typed&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;the&nbsp;pdb&nbsp;prompt.&nbsp;Note&nbsp;that&nbsp;internal&nbsp;pdb&nbsp;commands&nbsp;can&nbsp;be&nbsp;overridden&nbsp;by&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aliases.&nbsp;Such&nbsp;a&nbsp;command&nbsp;is&nbsp;then&nbsp;hidden&nbsp;until&nbsp;the&nbsp;alias&nbsp;is&nbsp;removed.&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Aliasing&nbsp;is&nbsp;recursively&nbsp;applied&nbsp;to&nbsp;the&nbsp;first&nbsp;word&nbsp;of&nbsp;the&nbsp;command&nbsp;line;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;all&nbsp;other&nbsp;words&nbsp;in&nbsp;the&nbsp;line&nbsp;are&nbsp;left&nbsp;alone.<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;As&nbsp;an&nbsp;example,&nbsp;here&nbsp;are&nbsp;two&nbsp;useful&nbsp;aliases&nbsp;(especially&nbsp;when&nbsp;placed&nbsp;in&nbsp;the&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.pdbrc&nbsp;file):<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#Print&nbsp;instance&nbsp;variables&nbsp;(usage&nbsp;"pi&nbsp;classInst")<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alias&nbsp;pi&nbsp;for&nbsp;k&nbsp;in&nbsp;%1.__dict__.keys():&nbsp;print&nbsp;"%1.",k,"=",%1.__dict__[k]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#Print&nbsp;instance&nbsp;variables&nbsp;in&nbsp;self<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alias&nbsp;ps&nbsp;pi&nbsp;self<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;unalias&nbsp;name<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Deletes&nbsp;the&nbsp;specified&nbsp;alias.<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;[!]statement<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Execute&nbsp;the&nbsp;(one-line)&nbsp;statement&nbsp;in&nbsp;the&nbsp;context&nbsp;of&nbsp;the&nbsp;current&nbsp;stack&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;frame.&nbsp;The&nbsp;exclamation&nbsp;point&nbsp;can&nbsp;be&nbsp;omitted&nbsp;unless&nbsp;the&nbsp;first&nbsp;word&nbsp;of&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;statement&nbsp;resembles&nbsp;a&nbsp;debugger&nbsp;command.&nbsp;To&nbsp;set&nbsp;a&nbsp;global&nbsp;variable,&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;you&nbsp;can&nbsp;prefix&nbsp;the&nbsp;assignment&nbsp;command&nbsp;with&nbsp;a&nbsp;global&nbsp;command&nbsp;on&nbsp;the&nbsp;same&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;line,&nbsp;e.g.:<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Pdb)&nbsp;global&nbsp;list_options;&nbsp;list_options&nbsp;=&nbsp;['-l']<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Pdb)<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;run&nbsp;[args&nbsp;...]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Restart&nbsp;the&nbsp;debugged&nbsp;python&nbsp;program.&nbsp;If&nbsp;an&nbsp;argument&nbsp;is&nbsp;supplied,&nbsp;it&nbsp;is&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;split&nbsp;with&nbsp;"shlex"&nbsp;and&nbsp;the&nbsp;result&nbsp;is&nbsp;used&nbsp;as&nbsp;the&nbsp;new&nbsp;sys.argv.&nbsp;History,&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;breakpoints,&nbsp;actions&nbsp;and&nbsp;debugger&nbsp;options&nbsp;are&nbsp;preserved.&nbsp;"restart"&nbsp;is&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;an&nbsp;alias&nbsp;for&nbsp;"run".<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;q(uit)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Quit&nbsp;from&nbsp;the&nbsp;debugger.&nbsp;The&nbsp;program&nbsp;being&nbsp;executed&nbsp;is&nbsp;aborted.<br>
&nbsp;&nbsp;<br>
&nbsp;&nbsp;-&nbsp;MODULE&nbsp;MEMBERS<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;pdb.run(statement[,&nbsp;globals[,&nbsp;locals]])<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Execute&nbsp;the&nbsp;statement&nbsp;(given&nbsp;as&nbsp;a&nbsp;string)&nbsp;under&nbsp;debugger&nbsp;control.&nbsp;The&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;debugger&nbsp;prompt&nbsp;appears&nbsp;before&nbsp;any&nbsp;code&nbsp;is&nbsp;executed;&nbsp;you&nbsp;can&nbsp;set&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;breakpoints&nbsp;and&nbsp;type&nbsp;continue,&nbsp;or&nbsp;you&nbsp;can&nbsp;step&nbsp;through&nbsp;the&nbsp;statement&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;using&nbsp;step&nbsp;or&nbsp;next&nbsp;(all&nbsp;these&nbsp;commands&nbsp;are&nbsp;explained&nbsp;below).&nbsp;The&nbsp;optional&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;globals&nbsp;and&nbsp;locals&nbsp;arguments&nbsp;specify&nbsp;the&nbsp;environment&nbsp;in&nbsp;which&nbsp;the&nbsp;code&nbsp;is&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;executed;&nbsp;by&nbsp;default&nbsp;the&nbsp;dictionary&nbsp;of&nbsp;the&nbsp;module&nbsp;__main__&nbsp;is&nbsp;used.&nbsp;(See&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;explanation&nbsp;of&nbsp;the&nbsp;exec&nbsp;statement&nbsp;or&nbsp;the&nbsp;eval()&nbsp;built-in&nbsp;function.)<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;pdb.runeval(expression[,&nbsp;globals[,&nbsp;locals]])<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Evaluate&nbsp;the&nbsp;expression&nbsp;(given&nbsp;as&nbsp;a&nbsp;string)&nbsp;under&nbsp;debugger&nbsp;control.&nbsp;When&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;runeval()&nbsp;returns,&nbsp;it&nbsp;returns&nbsp;the&nbsp;value&nbsp;of&nbsp;the&nbsp;expression.&nbsp;Otherwise&nbsp;this&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;is&nbsp;similar&nbsp;to&nbsp;run().<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;pdb.runcall(function[,&nbsp;argument,&nbsp;...])<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Call&nbsp;the&nbsp;function&nbsp;(a&nbsp;function&nbsp;or&nbsp;method&nbsp;object,&nbsp;not&nbsp;a&nbsp;string)&nbsp;with&nbsp;the&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;given&nbsp;arguments.&nbsp;When&nbsp;runcall()&nbsp;returns,&nbsp;it&nbsp;returns&nbsp;whatever&nbsp;the&nbsp;function&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;returned.&nbsp;The&nbsp;debugger&nbsp;prompt&nbsp;appears&nbsp;as&nbsp;soon&nbsp;as&nbsp;the&nbsp;function&nbsp;is&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;entered.<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;pdb.set_trace()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter&nbsp;the&nbsp;debugger&nbsp;at&nbsp;the&nbsp;calling&nbsp;stack&nbsp;frame.&nbsp;This&nbsp;is&nbsp;useful&nbsp;to&nbsp;hard-code&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a&nbsp;breakpoint&nbsp;at&nbsp;a&nbsp;given&nbsp;point&nbsp;in&nbsp;a&nbsp;program,&nbsp;even&nbsp;if&nbsp;the&nbsp;code&nbsp;is&nbsp;not&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;otherwise&nbsp;being&nbsp;debugged&nbsp;(e.g.&nbsp;when&nbsp;an&nbsp;assertion&nbsp;fails).<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;pdb.post_mortem([traceback])<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter&nbsp;post-mortem&nbsp;debugging&nbsp;of&nbsp;the&nbsp;given&nbsp;traceback&nbsp;object.&nbsp;If&nbsp;no&nbsp;traceback&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;is&nbsp;given,&nbsp;it&nbsp;uses&nbsp;the&nbsp;one&nbsp;of&nbsp;the&nbsp;exception&nbsp;that&nbsp;is&nbsp;currently&nbsp;being&nbsp;handled&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(an&nbsp;exception&nbsp;must&nbsp;be&nbsp;being&nbsp;handled&nbsp;if&nbsp;the&nbsp;default&nbsp;is&nbsp;to&nbsp;be&nbsp;used).<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;pdb.pm()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter&nbsp;post-mortem&nbsp;debugging&nbsp;of&nbsp;the&nbsp;traceback&nbsp;found&nbsp;in&nbsp;sys.last_traceback.<br>
&nbsp;&nbsp;-&nbsp;PDBRC&nbsp;FILE<br>
&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;a&nbsp;file&nbsp;.pdbrc&nbsp;exists&nbsp;in&nbsp;the&nbsp;user's&nbsp;home&nbsp;directory&nbsp;or&nbsp;in&nbsp;the&nbsp;current&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;directory,&nbsp;it&nbsp;is&nbsp;read&nbsp;in&nbsp;and&nbsp;executed&nbsp;as&nbsp;if&nbsp;it&nbsp;had&nbsp;been&nbsp;typed&nbsp;at&nbsp;the&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;debugger&nbsp;prompt.&nbsp;This&nbsp;is&nbsp;particularly&nbsp;useful&nbsp;for&nbsp;aliases.&nbsp;If&nbsp;both&nbsp;files&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;exist,&nbsp;the&nbsp;one&nbsp;in&nbsp;the&nbsp;home&nbsp;directory&nbsp;is&nbsp;read&nbsp;first&nbsp;and&nbsp;aliases&nbsp;defined&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;there&nbsp;can&nbsp;be&nbsp;overridden&nbsp;by&nbsp;the&nbsp;local&nbsp;file.</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Package Contents</strong></big></font></td></tr>
    
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top></td><td width="25%" valign=top></td><td width="25%" valign=top></td><td width="25%" valign=top></td></tr></table></td></tr></table>
</body></html>